package com.avocado.objectstore.service;

import com.avocado.commons.model.http.BaseResponse;
import com.avocado.objectstore.dto.file.FileDto;
import com.avocado.objectstore.dto.file.UploadFileDto;
import com.avocado.objectstore.vo.file.FileVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ObjectStoreService {

    List<String> upload(Long userId , UploadFileDto uploadFileDto) throws Exception;

    List<String> uploadMultipartFiles(Long userId,String currentDirectory, MultipartFile[] multipartFiles) throws Exception;

    void createDirectory(Long userId,String directoryPath)throws Exception;

    void delete(Long userId, FileDto fileDto) throws Exception;

    List<FileVo> list(Long userId, String currentDirectory) throws Exception;

    void rename(Long userId,String oldFilePath,String newFilePath)throws Exception;

}
